--- 模块功能：socket客户端数据接收处理
-- @author openLuat
-- @module socketLongConnection.socketInMsg
-- @license MIT
-- @copyright openLuat
-- @release 2018.03.28

module(...,package.seeall)

--- socket客户端数据接收处理
-- @param socketClient，socket客户端对象
-- @return 处理成功返回true，处理出错返回false
-- @usage socketInMsg.proc(socketClient)
function proc(socketClient)
    local result,data
    while true do
        result,data = socketClient:recv(2000)
        --接收到数据
        if result then
            log.info("socketInMsg.proc",string.toHex(data))



            --TODO：根据需求自行处理data
            --            AA AA 55 88 88 88 01 03 00 07 22 3C000000000000FFEF
            local stringData = string.toHex(data,",")
            log.info("stringData",stringData);
            local tableData = string.split(stringData,",")
            log.info("tableData",tableData);
            local order = tableData[8];
            if(order=="03")then--安全验证结果
                local veriFyResult = tableData[11];
                if(veriFyResult)then
                    sys.publish("VERIFYSUCCESS")
                end

            end
--            判断数据类型
            --如果socketOutMsg中有等待发送的数据，则立即退出本循环
            if socketOutMsg.waitForSend() then return true end
        else
            break
        end
    end
	
    return result or data=="timeout"
end
